home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / SmallEiffel 0.3.3 / SmallEiffel 68k / lib_test / bug_XavierGREGUT.e < prev    next >
Encoding:
Internet Message Format  |  1996-06-13  |  9.0 KB  |  [TEXT/????]

  1. From: Xavier CREGUT <Xavier.CREGUT@enseeiht.fr>
  2. To: colnet@loria.fr
  3. Subject: Probl`emes avec SmallEiffel
  4. Date: Mon, 20 May 1996 17:40:54 +0200 (MET DST)
  5.  
  6.  
  7. Bonjour,
  8.  
  9. Je viens de dÈcouvrir SmallEiffel.  Je l'utilise essentiellement chez moi
  10. sous Linux.  Au bureau, j'utilise le compilateur de ISE.
  11.  
  12. Les deux compilateurs n'ayant pas les mÍmes bibliothËques, j'ai dÈfini pour
  13. SmallEiffel une classe LINKED_LIST[G] qui simule le comportement de la
  14. LINKED_LIST de ISE.
  15.  
  16. J'utilise Ègalement une table de hachage, HTABLE[G, K], que j'ai dÈcidÈ
  17. d'implanter de maniËre simpliste : une liste de valeurs (hÈritage) et une
  18. liste de clÈs (clientÈlisme).
  19.  
  20. La classe XC_TRAVERSABLE [G] dÈfinit des opÈrations de parcours d'une
  21. structure (start, forth, after, item, etc.).   HTABLE [G, K] hÈrite de
  22. XC_TRAVERSABLE [G].
  23.  
  24. En Ècrivant ces diffÈrentes classes (version encodÈe ‡ la fin de ce message),
  25. j'ai dÈcouvert plusieurs problËmes :
  26.  
  27. 1.  le type HTABLE [G, K] n'est pas considÈrÈ comme conforme au type
  28.     XC_TRAVERSABLE [G].
  29.  
  30.     En supprimant le commentaire devant la ligne display(table); de TEST.make
  31.     on obtient le message suivant :
  32.  
  33. =====[ Message d'erreur ]=======================================================
  34. ------
  35. -- SmallEiffel  -- Release (- 0.96 / Beta)    --      FRANCE
  36. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  37. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  38. -- CRIN (Centre de Recherche en Informatique de Nancy)
  39. -- FRANCE 
  40. Parsing :
  41. 1    test.e
  42. 2    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
  43. 3    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
  44. 4    htable.e
  45. 5    xc_traversable.e
  46. 6    linked_list.e
  47. 7    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/string.e
  48. 8    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/comparable.e
  49. 9    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer.e
  50. 10    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer_ref.e
  51. 11    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/numeric.e
  52. 12    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean.e
  53. 13    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean_ref.e
  54. 14    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/array.e
  55. 15    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/collection.e
  56. 16    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/pointer.e
  57. 17    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/pointer_ref.e
  58. 18    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_input_output.e
  59. 19    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_input.e
  60. 20    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file_read.e
  61. 21    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file.e
  62. 22    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_output.e
  63. 23    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file_write.e
  64. 24    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/character.e
  65. 25    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/character_ref.e
  66. 26    /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_error.e
  67. ****** Error : Type HTABLE[INTEGER,STRING] is not a kind of Type
  68. XC_TRAVERSABLE[INTEGER] (TYPE_GENERIC).
  69. Line 21 column 13 in TEST (test.e) :
  70.         table: HTABLE [INTEGER, STRING];
  71.                ^
  72. Line 28 column 17 in TEST (test.e) :
  73.     display (l: XC_TRAVERSABLE[INTEGER]) is
  74.                 ^
  75. ------
  76. ****** Error : Real/Formal argument mismatch (3).
  77. Line 28 column 17 in TEST (test.e) :
  78.     display (l: XC_TRAVERSABLE[INTEGER]) is
  79.                 ^
  80. Line 25 column 14 in TEST (test.e) :
  81.         display(table);
  82.                 ^
  83. ------
  84. ****** Fatal Error : Bad instruction (when interpreted in TEST).
  85. Line 25 column 6 in TEST (test.e) :
  86.         display(table);
  87.         ^
  88. File "test.make" not found. Error(s) during `compile_to_c'.
  89. /homes/genie-u/cregut/local/tools/SmallEiffel/bin/compile_to_c test make
  90. ===============================================================================
  91.  
  92.  
  93. 2.  Lorsque je dÈclare une variable de type HTABLE en oubliant le deuxiËme
  94.     paramËtre gÈnÈrique :
  95.         table: HTABLE [INTEGER];
  96.     le compilateur ne signale pas d'erreur et plante
  97.     parce qu'il ne trouve pas le fichier test.make.
  98.  
  99. =====[ Message d'erreur ]========================================================
  100. -- SmallEiffel  -- Release (- 0.96 / Beta)    --      FRANCE
  101. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  102. -- University Henri Poincare'- Nancy 1 - email colnet@loria.fr 
  103. -- CRIN (Centre de Recherche en Informatique de Nancy)
  104. -- FRANCE 
  105. Parsing :
  106. 1       test.e
  107. 2       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
  108. 3       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
  109. 4       htable.e
  110. 5       xc_traversable.e
  111. 6       linked_list.e
  112. sh: 12267 Memory fault
  113. File "test.make"not found. Error(s) during `compile_to_c'.
  114. ===============================================================================
  115.  
  116. 3.  Lorsque je veux utiliser le double hÈritage sur LINKED_LIST [G] dans
  117.     HTABLE [G, K] pour redÈfinir les mÈthodes forth, start et go_to et
  118.     utiliser les versions hÈritÈes de ces mÈthodes,  SmallEiffel indique une
  119.     ´ Internal error ª sur inherit. 
  120.  
  121. =====[ Message d'erreur ]========================================================
  122. /homes/genie-u/cregut/local/tools/SmallEiffel/bin/compile_to_c test make
  123. ^[h-- SmallEiffel  -- Release (- 0.96 / Beta)    --      FRANCE
  124. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  125. -- University Henri Poincare'- Nancy 1 - email colnet@loria.fr 
  126. -- CRIN (Centre de Recherche en Informatique de Nancy)
  127. -- FRANCE 
  128. Parsing :
  129. 1       test.e
  130. 2       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
  131. 3       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
  132. 4       htable.e
  133. 5       xc_traversable.e
  134. 6       linked_list.e
  135. 7       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/string.e
  136. 8       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/comparable.e
  137. 9       /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer.e
  138. 10      /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer_ref.e
  139. 11      /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/numeric.e
  140. 12      /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean.e
  141. 13      /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean_ref.e
  142. ****** Fatal Error : Internal Error #1 in PARENT_LIST.
  143. Line 14 column 1 in HTABLE (htable.e) :
  144. inherit
  145. ^
  146. ------
  147. File "test.make"not found. Error(s) during `compile_to_c'.
  148. ================================================================================
  149.  
  150.  
  151. Finalement, en utilisant ´ pretty ª, j'ai ÈtÈ surpris de constatÈ que le
  152. mot-clef deferred n'Ètait pas indentÈ.  Est-ce volontaire ?
  153.  
  154. Xavier CrÈgut.
  155.  
  156.  
  157. begin 644 SmallEiffel-tests.tar.gz
  158. M'XL( %"/H#$  ^U9_6[;-A#/O]93,,& *:B=2/[**K<!TLY(@P0)8+M#AR$0
  159. M5)E*B,B22U&IVV'ON[W%CI^6+#MVMBS%4!^"B#KRCL?C\>XG>C@)XKA/H@C'
  160. M#88SEAW>LN!CC _PSI.1ZSC==AOM(.0>'37EL^/PIZ!6VVTCU'4[CNMT.\TC
  161. MZ.ZT'7<'.4]GPFK*,Q90A'9"BF]RMGI<G-Z0D.#X.6QZ1B+)&,](<F/QG4B"
  162. M">9/#Z&]=Z.3-Q?]/<$/<G:;4LG_$-P33-';0?_T_4AVCP-FQ)R7AT[G\&6W
  163. MCES7ZSB>TY1C[O"7SRD=9WR,Y$QS.DTSC"3':C3@#Z$?+M*;'_B+%<9!EB%I
  164. M!OKMM([.4>,8O3L9ON.<:\LBR2VFA EE'][ZH\')+_W!4 V_MFH4\_58-=Y/
  165. M&)Z@(!-//TJI#PT:,)(F5@TGXYY0<G%V>=[_V;\X&XXJ"B;!'>8*XMCGS;KD
  166. M@B9VJ]BBK?@\IICBBW9]G1EJP"UT2C%H*=Y-ZK-4<45;\:>YG@):L(S9%"Q 
  167. MOU]>7?;_D"/*QB[8N&!::<J%F>04Z@7/&'A,N4WL6<5SC8;V';26>D_Q%Y:K
  168. MN ]Y20TIKQV8Y=6K48O3R7FD>6,<D<08J!RCWI1?U)OP!'_)<(Q#]B@1Z23(
  169. M+3+6M"\L*P).3J%AW&-G7SUT=CGJG_8'^XAD5FV<EK:Q)]]V=^$L90>*PR= 
  170. ML E2JW:-/?/0:0_=>>B\K$INGCW;5\J$*L6\VR_HXVZUS&;8=XBK J5"6YR&
  171. M02P5A!YZ^WXPO!KTYI-$-)U8M5J(O-<HS&F64NBL"0^I:?.$$5!0$],'$6PO
  172. M2BF\&Y/XK <D\_&G/(C!,N6(-)W"*.%YI4G;*[N$P1%*4H@.H97=8CCAM0'.
  173. M\IAQ>ZHQ55!4.&]V6/0&E[)T'BN+@U]*'IY/91;2TX=EGC(6MK>X(B&F&=H 
  174. M\2X5R-RRH*#H7*% ,[0"\2X5\$/' X3OYYNKJXO^R>5#*X#A,EZT*GZ$K'EB
  175. MLDT(5**VX$ECV!+ORM.BCX0ZPS >N@+&*/F8LPQ-*;G'/V9F%Z"2%+/.^76/
  176. M5X3[@)(@D34A@P3DARG$FB>G%FT$,<F?,!SF%Y/(&F-9W[H6?PL:5O!?3)([
  177. M//9CDK$G H'K\%^SW93XS^D<M: #N3!\B_^>A4KX[Q$XK^D>.BV)\W[RW);G
  178. M=I>B.@GB%N#!9O6PF$MV=RF>BI)GNW74='1&D2<:,I6C&&(YFE&NC3J]B'P^
  179. MF<9_37#"A!EHG(LZA7.*QAC)TR MP9,I^[(N3=HZL3C%K"9$I1:5A%1Q5X6 
  180. M^% ';#*O^;JZ4BAZA&K@BHY?(U>O#KTRV6N)'=Q'O-[8I%2[?%TY>)^>Y"%I
  181. M[L/%ZK>R>AF/R\8+8>R2LF5@R7YUD5"O_33R1-U.HZBP.&X42-JSNESW4H@B
  182. M\4M1NQ8W\2$;+^:>C!3K6$R13Z=SL, 9%&?DJP@V,>R%:T+.."5:;Z&"RM)*
  183. M 4C6AI+TXG%5EQ!7NP ^VE#1*^3N [1Z0"_H6H4KS-:Z#P.)T[5 PA;!Q=7!
  184. M/@.:,'&\%%=$A&9L@T!UB])"2,I#SME$O&( EY,:*)ZD]]CGC*71*@]W;V6@
  185. M-4HN*VB3ZC^3*?;3G"V/U6+JTB/5 >8>+.:14E(+PO!/^)PRN4SE'@' D<9H
  186. M"VE5ND5FULJYEZ*;8#T3*>'!?1#GN KN%M"==O/40R>#P<FO_(N]@,@*!>.[
  187. M1&7/1U7\Q_\_Y>W?6OSG.FUS_\<Q(+__ ]X6_ST'K;S_&_6'HT??_C4=<_O7
  188. M]AS7<U_^N]L_;L0CX&+A7D)<8GOF^E"ES#H:C@9GESS7%)*@'*S@I2GTDLE+
  189. M>Z>.]D*2?-J#+G7!,R;9- Z^V&+0?@5K%H8@._86KB>U-=?E)*JN3>*#93<E
  190. ML;PF*=V#D)2;YY.$X1M,[5B4-6Z,[LG@XSFYL??0GN#&!ZMO3@RH @DV3\1B
  191. M [YUC&[IOZ-J_I^%/J/!/:;94_T.M"[_NT[+Y/\6;[M';K.[S?_/02OS?SEE
  192. M/;H2N"U3";J><^2U__'O0&,<84KQ&,F2L.27GG(U,-\Q*KR05F 8\\O8ZC?9
  193. M!D+F&WB#L85/[@U&5V\;-A"2*+V([S<06@KGU\CIFE#>@>_SVG1+6]K2EK:T
  194. 0I2UMZ7]+?P/OTRS= "@  !"2
  195.  
  196. end
  197.  
  198.  
  199. -- 
  200.                  ,
  201.         Xavier CREGUT
  202.     ENSEEIHT - Informatique                tel: (+33) 61 58 83 57
  203.     2, rue Charles Camichel                fax: (+33) 61 58 82 09
  204.     F- 31071 TOULOUSE CEDEX             e-mail: cregut@enseeiht.fr
  205.